Large-scale quantum computers have the potential to provide fast solutions to certain classes of difficult problems. For large-scale quantum computing to be realizable, several challenges in the design and implementation of quantum architecture to control and program quantum hardware must be overcome. Reducing the complexity of quantum architecture whilst maintaining a high level of control over the qubits included in the quantum architecture is a crucial step in building a scalable quantum computer.